#include <iostream>

#include "iostream"
#include "vector"
#include "unordered_map"
#include "unordered_set"
#include "algorithm"
#include "string"
#include "list"
#include "string.h"

struct Pos{
    int x;
    int y;
};
int dis2(Pos&a,Pos&b){
    int dx= (a.x-b.x);
    int dy=a.y-b.y;
    return dx*dx+dy*dy;
}
class OneLoop {
public:
    std::vector<Pos> cms;
    std::vector<Pos> yjs;
    std::vector<int> selected;
    int min_dis_sum=INT_MAX;
    std::vector<int> min_sel;
    int need=0;

    std::vector<std::vector<int>> cm_yj_dis;

    void dfs(int cnt,int dis_sum,int begin_i){
        if(yjs.size()-begin_i+cnt<need){
            return;
        }
        if(cnt==need){
            int dis_sum=0;

            int cm_i=0;
            for(auto&cm:cms){
                int min_dis=INT_MAX;
                for(auto s:selected){
                    min_dis= std::min(cm_yj_dis[cm_i][s],min_dis);
                }
                dis_sum+= min_dis;
                cm_i++;
            }
            if(dis_sum<min_dis_sum){
                min_dis_sum=dis_sum;
                min_sel=selected;
            }
            return;
        }
        for(int i=begin_i;i<yjs.size();i++){
            selected.push_back(i);
            dfs(cnt+1,dis_sum,i+1);
            selected.pop_back();
        }
    }
    //村民户数，备选邮局数，
    bool run(int n,int m,int k) {
        need=k;
        std::vector<int> line(m);
        for(int i=0;i<n;i++){
            Pos p;std::cin>>p.x>>p.y;
            cms.push_back(p);
            cm_yj_dis.push_back(line);
        }
        for(int i=0;i<m;i++){
            Pos p;std::cin>>p.x>>p.y;
            yjs.push_back(p);
        }
        for(int i=0;i<n;i++){
            for(int j=0;j<m;j++){
                int dis= dis2(cms[i],yjs[j]);
                cm_yj_dis[i][j]=dis;
            }
        }
        dfs(0,0,0);
        bool first= true;
        for(auto i:min_sel){
            if(!first){
                printf(" ");
            }
            first=false;
            printf("%d",i+1);
        }
        printf("\n");
//        printf("%d\n",cnt);
        return true;
    }
};

class Solution {
public:
    void run() {

        bool first = true;
        int64_t a, b, c, d, e;
        char cc;
        //        std::cin >> a;
//        std::string s1,s2;
//        while (1){
        while (
                std::cin>>a>>b>>c
//                std::getline(std::cin,s1)
//                1
                ) {
//            std::getline(std::cin,s2);
            OneLoop l;
            if (!l.run(a,b,c)) {
//                return;
            }
        }


    }
};

int main() {

    //    bool cur_num= true;
    Solution().run();
    return 0;
}

